﻿namespace Contoso.ActiveDirectory {

    #region Usings
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.InteropServices;
    using System.Text;
    using System.Threading.Tasks; 
    #endregion

    public interface IRemoteDesktopAttributes {
        bool AllowLogon { get; set; }
        RemoteDesktopDisconnectAction DisconnectAction { get; set; }
        bool ConnectClientDrivesAtLogon { get; set; }
        bool ConnectClientPrintersAtLogon { get; set; }
        CtxCfgFlags1 CtxCfgFlags1 { get; }
        CtxEncryptionLevel CtxMinEncryptionLevel { get; set; }
        bool DefaultToMainPrinter { get; set; }
        bool RemoteControlEnabled { get; set; }
        bool IsDefaultSettings { get; }
        bool IsPresent { get; }
        bool IsValid { get; }
        TimeSpan MaxConnectionTime { get; set; }
        TimeSpan MaxDisconnectionTime { get; set; }
        TimeSpan MaxIdleTime { get; set; }
        RemoteDesktopReconnectAction ReconnectAction { get; set; }
        RemoteControlSettings RemoteControlSettings { get; set; }
        string RemoteDesktopProfilePath { get; set; }
        string RemoteDesktopHomeDirectory { get; set; }
        string RemoteDesktopHomeDrive { get; set; }
        string RemoteDesktopWorkDirectory { get; set; }
        string RemoteDesktopInitialProgram { get; set; }

        void ProcessResults(Dictionary<string, object[]> attributes);
    }
}
